#ifndef __LINKQUEUE_H_
#define __LINKQUEUE_H_

#include "DoubleLinkList.h"
#define ElementType void*

struct LinkQueue;
typedef struct LinkQueue LQueue;
LQueue* InitLinkQueue();
void LQPush(LQueue *q,ElementType element);
void LQPop(LQueue *q);
bool IsQueueEmpty(LQueue *q);
ElementType* GetLQFront(LQueue *q);
int GetQueueLen(LQueue *q);
void TravelQueue(LQueue *q,void(*funcPtr)(ElementType));
void CleanQueue(LQueue *q,void(*clearPtr)(ElementType));


#endif